System and method for virtual vaulting

ABSTRACT

The present invention is a tape library comprising both a small front-end portion and a larger back-end portion. The front-end portion is a visible virtual or physical tape library; and the back-end portion is a large invisible virtual or physical tape vault. The DPA is a typical DPA which only sees the front-end library. If desired, all messages regarding the importing and exporting of tapes are reviewed by an agent. The agent manages the automatic transfer of tapes between the front-end and the back-end, and notifies the user when a manual import or export is needed. This greatly reduces both the amount of hardware required to establish a virtual or physical tape library and also reduces the amount of labor required by a user to physically import and export tapes. If both the front-end library and, the back-end vault are virtual and reside on the same virtual tape library appliance, no data movement is necessary and the tapes can be moved merely by performing small software state changes. In this case, manual operation may be acceptable.

BACKGROUND

The present invention is generally related to storage systems. More particularly, the invention is directed to a disk-based storage system, which provides one or more back-end virtual vaults to one or more front-end visible virtual or physical tape libraries.

In physical or virtual tape libraries, users often purchase a relatively small tape library and license their backup application code for the relatively small tape library due to the tremendous expense associated with large tape libraries. Referring to FIG. 1, a typical small tape library 10 comprises a plurality of media slots 12 and one or more tape drives 14. The tape library 10 keeps track of all of the tapes in the media slots 12 and the tape drives 14, and provides overall management of the tapes. When a user desires to read from or write to a tape, the tape is removed from a media slot 12 and placed into the tape drive 14. Of course, the tapes 16 do not reside within the tape library 10 in perpetuity. Accordingly, tapes 16 may be removed from the tape library 10 to become external tapes 18. These external tapes are typically stored offsite for security or archiving purposes. External tapes 18 may also be imported into the tape library 10 as desired as long as there are enough media slots 12 available.

Although having a small tape library 10 is an inexpensive way, (in terms of hardware), for an organization to implement data storage using tapes, it is a relatively labor intensive environment. Since the tape library is small, the user is forced to continuously import and export tapes to and from the tape library 10 so that needed tapes can be utilized by the tape drive 14.

To alleviate the labor problem, a larger tape library may be used. Such a larger tape library is shown in FIG. 2. In this large tape library 20, 166 media slots 12 are provided. Although only two tape drives 14 are shown for simplicity, those skilled in the art would realize that more tape drives 14 would typically be provided for a tape library of this size unless the system is used exclusively for archiving purposes. As one could obviously deduce, having such a large tape library 20 would relieve the user from having to import and export tapes on a frequent basis.

However, large tape libraries 20 have the drawback that they are much more expensive in terms of the hardware and, equally importantly, the library software license.

A seemingly unrelated problem is the desire of physical tape library vendors to include a virtual tape library as a relatively small front-end cache. In order to do this, the virtual tape library cache must be able to track tapes that have been exported to a physical tape library and import the appropriate tapes whenever the data protection application (DPA) needs access to tapes that are not located within the virtual library. Unfortunately, the DPA cannot distinguish between tapes that have been completely exported and shipped off-site and tapes that have simply been moved electronically or robotically to a back-end vault.

Thus, the problem of importing and exporting tapes to and from a tape library is closely related to the problem of designing a small front-end cache to a large library. This is because much of the work in designing such a cache involves moving media between the front-end cache and the backend vault, effectively exporting media from one library and importing this media into the other and keeping track of this interaction.

Accordingly, present tape library configurations leave much to be desired in terms of flexible import/export mechanisms; particularly when media is moved between multiple libraries.

SUMMARY

The present invention is a tape library comprising both a small front-end portion and a larger back-end portion. The front-end portion is a visible virtual or physical tape library; and the back-end portion is a large invisible virtual or physical tape vault. The DPA is a typical DPA which only sees the front-end library. If desired, all messages regarding the importing and exporting of tapes are reviewed by an agent. The agent manages the automatic transfer of tapes between the front-end and the back-end, and notifies the user when a manual import or export is needed. This greatly reduces both the amount of hardware required to establish a virtual or physical tape library and also reduces the amount of labor required by a user to physically import and export tapes. If both the front-end library and the back-end vault are virtual and reside on the same virtual tape library appliance, no data movement is necessary and the tapes can be moved merely by performing small software state changes. In this case, manual operation may be acceptable.

BRIEF DESCRIPTION OF THE DRAWING(S)

FIG. 1 is a prior art small tape library.

FIG. 2 is a prior art large tape library.

FIG. 3 is a tape library made in accordance with the present invention having both a visible front-end and an invisible back-end.

FIG. 4 is a block diagram of the internal information flow of the system of the present invention.

FIG. 5 is a method for importing a tape in accordance with the preferred embodiment of the present invention.

FIG. 6 is a method for exporting a tape in accordance with the preferred embodiment of the present invention.

FIG. 7 is an alternative embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

The present invention will be described with reference to the drawing figures where like numerals represent like elements throughout.

Referring to FIG. 3, a tape library system 30 made in accordance with the present invention is shown. The tape library system 30 comprises a front-end, visible virtual or physical tape library 32 and a back-end, invisible virtual or physical tape vault. As is evident from FIG. 3, the back-end library does not necessarily need to include any tape drives if it is used solely for vaulting purposes. Alternatively, one or more tape drives may be included if desired.

Hereinafter, reference will be made only to “tape library” or “tape vault” for simplicity. However, these terms should be understood by those skilled in the art to refer to both virtual or physical tape devices comprising an active medium (such as a disk drive), a passive medium (such as a tape cartridge), or a combination of both active and passive media. The front-end tape library 32 comprises a plurality of media slots 36 and a plurality of tape drives 38. Although there are ten media slots 36 and two tape drives 38 in the embodiment shown in FIG. 3, one skilled in the art would clearly realize that any number of media slots 36 and/or tape drives 38 may be utilized. The back-end tape vault comprises additional media slots 40 for seemingly exported tapes. Exported or external tapes are shown as tapes 42.

The DPA that is used in the front-end tape library 32 only sees tapes that are in the front-end tape library 32. Accordingly, the DPA operates in a manner that is exactly the same as with current tape libraries since current DPAs cannot distinguish between a virtual tape library and a physical tape library, or between a tape library with a vault and a tape library without a vault. However, as will be explained in greater detail hereinafter, the present invention may include an agent that intercepts all import and export messages from the DPA such that when a tape is exported from the front-end tape library 32, it may be exported only to the back-end invisible tape vault 34, and not exported as an external tape 42.

The back-end invisible tape vault 34 provides additional media slots 40 such that a tape exported from the front-end tape library 32 will be exported only to the back-end tape vault 34. When the DPA calls up a tape that it assumes was exported, the tape may actually reside within the back-end tape vault 34. The agent retrieves the tape from the back-end tape vault 34 and imports it into the front-end tape library 32 automatically, thus freeing the user from having to perform a manual tape import or export. Referring to the bottom of FIG. 3, the prior art required a manual intercession by the user in order to take the tapes from the front-end tape library at point one (1) and export them as external tapes 42 at point three (3). In contrast, the present invention provides an intermediate point two (2) by automatically transferring tapes between points one (1) and two (2) from the front-end tape library 32 to the back-end tape vault 34. Once the back-end tape vault 34 is full or, more typically if a tape needs to be moved off-site either electronically or physically, a manual intercession by the user as shown between points two (2) and three (3) may be required to export the tapes as exported external tapes 42.

Referring to FIG. 4, a flow diagram of the internal information flow within the information storage system 30 of the present invention is shown. As shown, the information flow is between the DPA 41, the agent 43, the tape operator 44, the tape library 46 and the tape vault 48. Point one (1) of FIG. 3 represents normal interaction between the DPA 41 and a tape library 46. From the perspective of the DPA 41, the communication 50 between the DPA 41 and the tape library 46 is normal. Additionally, when the DPA 41 desires to import or export a tape, it sends a communication 52 to the tape operator 44. However, in accordance with the present invention, the communication 52 is intercepted by the agent 43. The agent 43 provides overall control and tracking of the tapes that are within the tape vault 48. If a tape is within the tape vault 48, the agent 43 sends a communication 56 to the tape vault 48 requesting that the tape vault 48 move the desired tape from the tape vault 48 to the tape library 46. If the desired tape is not in the tape vault 48, the agent 43 forwards a message via a communication 54 to the tape operator 44 requesting that the tape operator 44 manually insert a tape into the tape library 46 or, in an alternative embodiment, to the tape vault 48.

With respect to the DPA 41 requesting that a tape be exported from the tape library 46, the same process is followed. The DPA 41 requests the tape operator 44 via a communication 52 to remove a tape from the tape library 46. The agent 43 intercepts this communication 52 and, if there is enough storage within the tape vault 48, sends a communication 56 to the tape vault 48 requesting that the tape vault 48 accept the tape from the tape library 46 via a communication 58. If there is no room within the tape vault 48, the agent 43 passes the message via a second communication 54 to the tape operator 44 requesting that the tape operator 44 remove the tape from the tape library 46 or, in an alternative embodiment, from the tape vault 48.

Accordingly, a tape could be removed from the tape vault 48, which could automatically trigger the tape vault 48 to fetch the tapes in the entry/exit slot of the front-end library 46 because it now definitely has free space; or the tape could be removed from the front-end library 46 directly. The DPA 41 cannot track the different states once a tape is out of the front-end library 46 unless the user manually enters this information. For example, the DPA 41 does not know if the tape is currently in the mailroom, in the FedEx central office, or simply lost. Similarly, it does not know whether it is in the tape vault 48.

Referring to FIG. 5, a method 60 for importing a tape in accordance with the present invention is shown. A DPA corresponds with a tape library in a normal manner (step 61). When the DPA requests a tape that is not in the tape library, (step 62), the DPA sends a message requesting that a tape be manually imported into the tape library (step 64). The agent intercepts the message and determines whether or not the requested tape is in the tape vault (step 66). If the tape is not in the tape vault, the agent forwards a message to the tape operator to manually import the tape (step 68). If the tape is located in the tape vault, the agent instructs the tape vault to import the tape into the tape library (step 70).

Referring to FIG. 6, a method 90 for exporting a tape in accordance with the present invention is shown. In this method, the DPA corresponds with the tape library in a normal manner (step 92). When the DPA requests that a tape be exported from the tape library (step 94), the DPA sends a message requesting that the tape be manually exported, (i.e., moved to the entry/exit slot of the tape library), from the tape library (step 96). The agent intercepts this message and determines whether there is enough storage space in the vault (step 98).

The intercepted signal, like the signal described in connection with FIG. 5, may be any type of signal. For example, the signal may be an E-mail (SMTP and MAPI), Pager, Printer, Net send, SNMP, Windows NT Event Log entry or any other type of signal that asks the operator to import or export a tape.

Referring again to FIG. 6, if there is enough space for the tape in the vault, the agent instructs the vault to export the tape automatically from the tape library (step 100) so that the tape may be stored therein. However, if there is not enough space for the tape in the vault, the agent forwards a message to the tape operator to manually export the tape (step 99) or to free space in the vault.

In accordance with the present invention, tapes can be exported from a relatively small library to a larger tape vault and other tapes from the larger tape vault into the tape library. Since this operation is under programmatic control, this process is much less labor intensive than handling of physical tapes. This process can be completely automated.

The present invention has the following advantages. First, it allows for simple implementation of one or more small front-end tape libraries that share a large physical tape vault. For example, as shown in FIG. 7, a plurality of small front-end physical tape libraries 110, 112, 114, 116 may be linked to a single tape vault 120. A single agent associated with the tape vault 120 will provide overall control of importing and exporting of tapes from all of the small front-end tape libraries 110, 112, 114, 116 and the tape vault 120. The agent may queue DPA requests from multiple front-end libraries and execute them in sequence, or may prioritize them according to a management policy. All other aspects of the system are the same for a multiple front-end tape library set up as shown in FIG. 7 as with the single front-end tape library embodiment shown in FIG. 3. The communications between the multiple small front-end tape libraries 110, 112, 114, 116 and the tape vault 120 will be the same as shown in FIG. 4 and as explained with reference to the procedures 60, 90 in FIGS. 5 and 6 respectively.

The present invention also makes it extremely easy to “clone” tapes. This is useful when one copy of a tape needs to be shipped off-site and another copy of the identical tape is kept on-site for fast restores. In this scenario, whenever a tape is written to and is subsequently removed from a tape drive, it is copied (instead of moved) to the tape vault. If data is appended to an existing tape, it is simply written in the front-end tape library and upon removal from a drive, the append is written to the back-end tape.

Since the DPA is only aware of the small front-end library, the back up software can be purchased for the small library, rather than a large back-end tape vault. For the example shown in FIG. 3, the DPA only sees ten (10) media slots even though the vault extension expands the library to a thirty-eight (38) slot library.

In an alternative embodiment, no agent is used. Instead, several slots in the front-end library are reserved. These slots are then used to rotate media from the back-end library through. Whenever a new set of media is moved from the back-end library to the reserved slots, the backup application is informed, (for example, via standard SCSI commands), that an inventory change has occurred. The backup software then reads the new inventory and fetches the tapes it needs from the reserved slots. The two approaches can also be combined. For example, the most frequent import/export operation is to move full tapes out of the library to replace them with empty tapes. This can be completely automated. Once a tape is full and moved to a slot in the library, the tape can immediately be replaced by a blank tape and the backup application can be informed of the inventory change. This avoids many export requests altogether. 

1. A tape library comprising: a front-end portion adapted for use with a data protection application, said front-end portion being visible to an end-user, the data protection application for importing and exporting tapes from said front-end portion; a back-end portion for storing tapes exported by the front-end portion, said back-end portion being invisible to an end-user and the data protection application; wherein tapes may be automatically exported from the front-end portion to the back-end portion, and may be automatically imported back into the front-end portion without manual intervention; an agent for determining the availability of tapes and tape slots in the front-end and back-end portions and for managing the transfer of tapes between the front-end and back-end portions, the agent functionally disposed between the data protection application and the end-user and configured to intercept requests made by the data protection application for manual importing and exporting of tapes into and out-of the front-end portion; and whereby if the agent intercepts a message from the data protection application requesting the end-user to manually import a tape to the front-end portion, the agent automatically determines whether the tape is in the back-end portion and, if so, the agent automatically transfers the tape form-the back-end portion to the front-end portion.
 2. The tape library of claim 1 wherein the front-end portion is a virtual tape library.
 3. The tape library of claim 1 wherein the front-end portion is a physical tape library.
 4. The tape library of claim 1 wherein the front-end portion is smaller than the back-end portion.
 5. The tape library of claim 1 wherein the back-end portion is a virtual tape library.
 6. The tape library of claim 1 wherein the back-end portion is a physical tape library.
 7. The tape library of claim 1 whereby the agent intercepts messages from the data protection application to the end-user.
 8. The tape library of claim 1 whereby the agent monitors the importing of tapes to and the exporting of tapes from both the front-end portion and the back-end portion.
 9. The tape library of claim 1 whereby the front-end portion has at least one import—export slot for the importing and exporting of tapes and whereby the agent automatically moves a tape that appears in the import—export slot of the front-end portion to the back-end portion.
 10. The tape library of claim 1 whereby if the tape is not in the back-end portion, the intercepted message is forwarded to the end-user.
 11. The tape library of claim 10 wherein the agent notifies the end-user when a tape needs to be manually imported to the front-end portion.
 12. The tape library of claim 11 wherein the agent notifies the end-user when a tape needs to be manually exported from the front-end portion.
 13. A method for importing and exporting tapes between front and back portions of a tape library comprising: installing a data protection application on a tape library having front and back portions wherein the data protection application interacts only with the front portion; intercepting requests made by the data protection application for manual importing and exporting of tapes into and out-of the front portion; for import requests, determining whether a requested tape is in the back portion; for export requests, determining whether a requested tape can be stored in the back portion; exporting tapes requested by the data protection application for manual exportation automatically from the front portion to the back portion of the tape library wherein it is determined that the requested tape can be stored in the back portion; importing tapes requested by the data protection application for manual importation automatically from the back portion to the front portion wherein it is determined that the requested tape is in the back portion; notifying a user when a requested tape needs to be manually imported to the front portion wherein it is determined that the requested tape is not in the back portion; and notifying a user when a requested tape needs to be manually exported from the front portion wherein it is determined that the requested tape cannot be stored in the back portion.
 14. A method for importing a tape in a tape library having front and back portions comprising: installing a data protection application on a front portion of a tape library having front and back portions; intercepting requests by the data protection application for manual importation of tapes to the front portion; determining whether a requested tape is in the back portion; importing the requested tape automatically from the back portion to the front portion wherein it is determined that the requested tape is in the back portion; and notifying a user when a requested tape needs to be manually imported to the front portion wherein it is determined that the requested tape is not in the back portion.
 15. A method for exporting a tape in a tape library having front and back portions comprising: installing a data protection application on a front portion of a tape library having front and back portions; intercepting requests by the data protection application for manual exportation of tapes from the front portion; determining whether a requested tape can be stored in the back portion; exporting the requested tape automatically from the front portion to the back portion wherein it is determined that the requested tape can be stored in the back portion; and notifying a user when a requested tape needs to be manually exported from the front portion wherein it is determined that the requested tape cannot be stored in the back portion. 